{
 "metadata": {
  "name": "Alamouti"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Alamouti STBC"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "This notebook illustrates the simulation of an Alamouti MIMO scheme transmission through a flat fading rayleight channel.\n",
      "\n",
      "We simulate the Alamouti STBC with a 16-QAM modulation, as well as BPSK modulation."
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Initializations"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "First we set the Python path and import some libraries."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%pylab inline\n",
      "from IPython.display import clear_output"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].\n",
        "For more information, type 'help(pylab)'.\n"
       ]
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# xxxxxxxxxx Add the parent folder to the python path. xxxxxxxxxxxxxxxxxxxx\n",
      "import sys\n",
      "import os\n",
      "sys.path.append('../')\n",
      "# xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n",
      "\n",
      "import numpy as np"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 2
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Because there is already an Alamouti simulator implemented in the \"apps\" folder of PyPhysim, we simple import it here and set the desired simulation parameters."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from comm.modulators import BPSK, QAM\n",
      "from apps.simulate_alamouti import AlamoutiSimulationRunner"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 3
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Simulation of Alamouti with 16-QAM"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "First we create the SimulationRunner objects. Note that the actual simulator is already implemented as an application in PyPhysim and we are only setting the parameters here."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "sim = AlamoutiSimulationRunner()\n",
      "sim.NSymbs = 300\n",
      "sim.rep_max = 30000\n",
      "sim.params.add('SNR', np.linspace(0, 25, 11))\n",
      "sim.modulator = QAM(16)\n",
      "sim.Nr=1\n",
      "sim.update_progress_function_style = 'text2'\n",
      "# max_bit_errors is used in the _keep_going method to stop the\n",
      "# simulation earlier if possible. We stop the simulation if the\n",
      "# accumulated number of bit errors becomes greater then 0.1% of the\n",
      "# total number of simulated bits\n",
      "sim.max_bit_errors = sim.rep_max * sim.NSymbs * 0.001\n",
      "sim.clear()\n",
      "\n",
      "sim2 = AlamoutiSimulationRunner()\n",
      "sim2.NSymbs = 300\n",
      "sim2.rep_max = 30000\n",
      "sim2.params.add('SNR', np.linspace(0, 25, 11))\n",
      "sim2.modulator = QAM(16)\n",
      "sim2.Nr=2\n",
      "sim2.update_progress_function_style = 'text2'\n",
      "sim2.max_bit_errors = sim2.rep_max * sim2.NSymbs * 0.001\n",
      "sim2.clear()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 5
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "During the simulation, we are only interested in the progressbar output for simulation of the current parameters. Therefore, lets set the _on_simulate_current_params_finish method of the SimulationRunner objects to a function that erases all the output from the cell."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "def clear_ipython_output(dummy1, dummy2=None):\n",
      "    clear_output()\n",
      "\n",
      "# Lets create a custom method to clear the output after the simulation of each combination of parameters\n",
      "sim._on_simulate_current_params_finish = clear_ipython_output\n",
      "sim2._on_simulate_current_params_finish = clear_ipython_output"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 6
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Now we can run the simulations.\n",
      "\n",
      "First we run the simulations for **NRx=1** with **16-QAM** modulation"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "sim.simulate()\n",
      "clear_output()\n",
      "print \"Elapsed Time for simulation 1: {0}\".format(sim.elapsed_time)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Elapsed Time for simulation 1: 2m:9s\n"
       ]
      }
     ],
     "prompt_number": 7
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "and then we run the simulations for **NRx=2** with **16-QAM** modulation."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "sim2.simulate()\n",
      "clear_output()\n",
      "print \"Elapsed Time for simulation 2: {0}\".format(sim2.elapsed_time)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Elapsed Time for simulation 2: 10m:50s\n"
       ]
      }
     ],
     "prompt_number": 8
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Plot the Results"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "SNR, ber, ser = sim.get_data_to_be_plotted()\n",
      "semilogy(SNR, ber, '-k*', label='NTx=2, NRx=1')\n",
      "\n",
      "SNR, ber2, ser2 = sim2.get_data_to_be_plotted()\n",
      "semilogy(SNR, ber2, '-m*', label='NTx=2, NRx=2')\n",
      "\n",
      "xlabel('SNR')\n",
      "ylabel('Error')\n",
      "title('BER for QAM modulation with Alamouti (Rayleight channel)'.format(sim.modulator.name))\n",
      "legend()\n",
      "\n",
      "#grid(True, which='both', axis='both')\n",
      "grid()\n",
      "show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "display_data",
       "png": "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\ngjB+73gc/8vNM457n7rXLX/H6+7TEAQBb7zxBpYsWYJPPvlE7nK82lC7Bn0wmIWIWYjUlkVQahCS\n9yTjZO5JtJS3uOVveF3T2L17NxoaGuDv74/IyEi5yyEiUpS7/+FuJJUl4eTck2g90Cr5/t3WNHJz\nc6HT6ZCcnNzndYvFgvj4eMTGxqK4uLjf++rq6jB58mS88847WLt2rbvKGxKG+lUhd4JZiJiFSK1Z\nBD8UjKSdSaj9p1pc/uKypPPAbmsaOTk5sFgsfV7r7e3FokWLYLFYUFNTgy1btqC2thalpaXIy8tD\nY2MjIiMjERIScrM4H687ESIiUoTgh4ORuCMRNZk12PbmNsn267ZP5bS0NIwcObLPa5WVlYiJiYFe\nr4dWq0VmZibKysqQnZ2N9957D2PGjMEzzzyD/fv3Y8mSJar9luAqtY3X/hZmIWIWIrVnUXayDPmB\n+djz5h7J9unRq6caGhoQFRXl3I6MjERFRUWf3wkICMCHH374m/uZN28e9Ho9ACAkJAQmk8nZYG4d\nJNxW1/Yt3lKPnNs2m82r6pFz22azeVU9nty2Wq348psv4av3RfWlauAqJOHW+zTsdjumT5+O6upq\nAMCOHTtgsViwfv16AMDmzZtRUVGBkpISl/fJ+zSIiFy3d/telOaWYmv7VuU97jUiIgIOh/jIQofD\nwSukiIjc6Oz/ncXzG5+XbH8ebRqpqamor6+H3W5HV1cXtm7dioyMjDveT2FhYb9hCTViBiJmIWIW\nImYBGB40oLK6UrL9ua1pZGVlYdKkSairq0NUVBQ2btwIPz8/rFmzBtOmTYPBYMCcOXOQkJBwx/u+\ntcotERH9NrPZjMLCQsn2x7WniIhUQKrPTt4IQURELlNk0+Ccxk3MQMQsRMxCxCxuZiDl8JQiV7mV\nMgAioqHM/PNTTouKiiTZH+c0iIhUgHMaRETkcWwaCsbxWhGzEDELEbOQHpsGERG5TJFzGgUFBc7J\nHSIiuj2r1Qqr1YqioiJJ5jQU2TQUVjIRkew4EU4cr/0FZiFiFiJmIT02DSIichmHp4iIVIDDU0RE\n5HFsGgrG8VoRsxAxCxGzkB6bBhERuYxzGkREKqDqOQ0ujU5E5Bqpl0bnmYaCWa1W3hX/M2YhYhYi\nZiFS9ZkGERHJg2caREQqwDMNIiLyOK9rGl999RUWLlyIF198EZMnT5a7HK/GiwFEzELELETMQnpe\n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\nH5RJaSs7fERTAAAAAElFTkSuQmCC\n"
      }
     ],
     "prompt_number": 9
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "----------------------------"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Simulation of Alamouti with BPSK"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Now lets repeat the simulation, but for BPSK modulation.\n",
      "We can use the same SimulationRunner objects and only change the modulator, but we also need to call the \"clear\" method in both objects toerase results from the previous simulation."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "sim.modulator = BPSK()\n",
      "sim2.modulator = BPSK()\n",
      "\n",
      "sim.clear()   # Erase results from the previous simulation with 16-QAM\n",
      "sim2.clear()  # Erase results from the previous simulation with 16-QAM"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 10
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Now we can run the simulations.\n",
      "\n",
      "First we run the simulations for **NRx=1** with **BPSK** modulation"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "sim.simulate()\n",
      "clear_output()\n",
      "print \"Elapsed Time for simulation 1: {0}\".format(sim.elapsed_time)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Elapsed Time for simulation 1: 14m:10s\n"
       ]
      }
     ],
     "prompt_number": 11
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "and then we run the simulations for **NRx=2** with **BPSK** modulation."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "sim2.simulate()\n",
      "clear_output()\n",
      "print \"Elapsed Time for simulation 2: {0}\".format(sim2.elapsed_time)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Elapsed Time for simulation 2: 21m:43s\n"
       ]
      }
     ],
     "prompt_number": 12
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Plot the Results"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "SNR, ber, ser = sim.get_data_to_be_plotted()\n",
      "len(SNR)\n",
      "semilogy(SNR, ber, '-k*', label='NTx=2, NRx=1')\n",
      "\n",
      "SNR, ber2, ser2 = sim2.get_data_to_be_plotted()\n",
      "semilogy(SNR, ber2, '-m*', label='NTx=2, NRx=2')\n",
      "\n",
      "xlabel('SNR')\n",
      "ylabel('Error')\n",
      "title('BER for BPSK modulation with Alamouti (Rayleight channel)'.format(sim.modulator.name))\n",
      "legend()\n",
      "\n",
      "#grid(True, which='both', axis='both')\n",
      "grid()\n",
      "show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "display_data",
       "png": "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\naIh27drByckJJSUl2LdvX7V1L1++jP/7v//D4cOHkZOTg+zsbKirqzeqc/hTZftTn2FDj7tz585s\nM8zHFBUVsW7dOuTm5iIkJAQAsHHjRjx9+hQ3b95Ebm4uLl68CEIIe6y9e/eGoqIiLl26hAMHDsDV\n1bXGtI2NjbFixQqhH5d5eXmYNGlStXU/LtdV//+UT+WHjo4OlJWVkZiYWO80K3zOd6QuRkZGUFJS\nQmZmJps3ubm5Qn1CH3v06BG6dOlSZ7pSVXlUFBhCCHsVYmVlxc5ryJfH29sbmzdvFvpi1MbIyAh9\n+/aFj48PioqKEBcXhz179uDbb79tUOxV43v8+DGuXLmCTp06fXLboKAghIeHg8/nQyAQICIiAgkJ\nCejVq5dQ+q1bt0ZkZCRevXoFFxeXzypYFbFOnjwZv//+O1JSUpCXl4fly5fD2dkZHA4HTk5OOH36\nNK5evYri4mL89NNPQvvs2rUrwsPDkZ2djf/++w9//PFHrfvLy8sDl8uFqqoqHj9+jL/++ktouZ6e\nHpKSkmrctlevXlBVVcX69etRUlKCmJgYnD59mr2duaEn1YEDB2LLli1s/4aDgwO2bNmC/v3713py\nqCu+qmqK5dWrV/jnn39w5swZ3L9/n/374Ycfarzris/nQ15eHjo6OiguLsbq1avrfRX9sU+V7U99\nhvU97gojRozAxYsXa12uoKCAxYsXY/369QDKy4WKigrU1dWRlZUFPz+/atu4urrCy8sLioqK6Nu3\nLzu/6ndu5syZ2L59O27evAlCCPLz83HmzJkarxgmTpyINWvWICcnB69evcKWLVvqXUnq6ekhMzOz\n1s+Dw+HAw8MDixYtwuvXr1FWVoZr167Vq7XgU9+Rj9X3nNiuXTt8/fXXWLRoEXuOSUpKqvW5l1ev\nXiErKwu9e/euM12pqjwcHR2hoKAAJSUlzJs3D8HBwWzlwTAM1q9fL/ScR9VL948//JEjR6Jt27Z1\ndgpVdeDAAaSkpEBfXx/jxo3D6tWr2Wal+nQMV42vdevWGDp0KDw8PNiOy7rSUFNTg7+/P0xMTKCp\nqQlvb29s375d6ItSsa26ujqio6Px9OlTuLm51Vh46vNFqFjHw8MDrq6uGDBgAExNTaGqqorNmzcD\nKL962rp1K1xcXKCvrw8tLS2hy31XV1d06dIFPB4Pw4YNg7Ozc6373rBhA/bv3w81NTXMmjWr2rq+\n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\nFg8iIuq2/wfryuO9jEMrKgAAAABJRU5ErkJggg==\n"
      }
     ],
     "prompt_number": 13
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#%qtconsole"
     ],
     "language": "python",
     "metadata": {},
     "outputs": []
    }
   ],
   "metadata": {}
  }
 ]
}